|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectde.cebis.moccabox.application.impl.hibernate.TaskContext
public class TaskContext
Die Klasse beschreibt den Kontext, in dem ein Vorgang (IBusinessTask) ausgeführt wird.
Der Kontext ist dabei ein Container für Vorgänge, die innerhalb derselben semantischen
Einheit durchgeführt werden können. Für einen IBusinessTask 'Kunden anlegen'
kann bspw. der TaskContext 'Kundenverwaltung' und in der Instanz
'Kundenverwaltung Müller GmbH' sein. Er entspricht damit
dem betrieblichen Objekt auf Ebene des Interaktionsschemas. Der Vorgang 'Kunden anlegen'
kann aber auch innerhalb weiterer Kontexte wie 'Auftragsverwaltung' aufgerufen werden. Es ist
damit nicht nur wichtig, welcher Vorgang ausgeführt wird, sondern auch in welchem Kontext.
Die Wiederverwendung der Vorgangsobjekte wird dadurch erhöht, weil sie abhängig davon,
in welchem Kontext sie verwendet werden, auf eine unterschiedliche Basis von Attributen
zurückgreifen können.
Zu den Aufgaben der Laufzeitumgebung TaskContext gehören die Kapselung
und Überwachung von Zustand, Transaktionsschutz, Integritäts-Monitoring etc. Zudem muss
er Verwalten, dass alle eingehenden Requests auch bearbeitet und in der richtigen
Reihenfolge durchlaufen werden. Alle Vorgänge, die innerhalb desselben Kontextes
durchgeführt werden, haben Zugriff auf den Speicher des Kontextes, so dass sie auf
diesselben Instanzen eines gemeinsam benötigten Aufgabenobjektes zugreifen können.
Parametrisiert wird der TaskContext durch ein entsprechendes
BusinessTaskContextBean, das alle notwendigen Informationen und
Meta-Informationen über den Kontext enthält.
ITaskContextManager,
TaskContextManager,
BusinessTaskContextBean| Field Summary | |
|---|---|
static java.lang.String |
ATTRIBUTE_PERSPECTIVE
Definiert das Attribut der Perspektive, welches die verschiedenen Sichten auf den Kontext ermöglicht. |
static java.lang.String |
STANDARD_CONTEXT
Definiert das Feld für den Standard Kontext, der verwendet wird, sofern kein speziell instantiierter Kontext für die Durchführung eines Vorgangs spezifiziert wurde. |
| Fields inherited from interface de.cebis.moccabox.application.context.ITaskContext |
|---|
ATTRIBUTE_CONTEXT |
| Constructor Summary | |
|---|---|
TaskContext(ITaskContextManager manager)
Konstruktor zum Anlegen eines neuen TaskContext |
|
| Method Summary | |
|---|---|
void |
addMessage(Message m)
Hinzufügen einer Meldung. |
void |
addMessages(Message[] ms)
Hinzufügen von Meldungen. |
void |
addTaskRequest(ITaskRequest tRequest)
Hinzufügen eines ITaskRequest, der innerhalb dieses Kontextes
ausgeführt werden soll. |
void |
clearMessages()
Zurücksetzen aller Meldungen. |
void |
executeRequest()
Ausführen des aktuellen Request. |
ITaskRequest |
getActiveTaskRequest()
Zurückliefern des aktuellen ITaskRequest. |
AttributeStore |
getAttributeStore()
Zurückliefern der Attribute des Kontextes. |
BusinessTaskContextBean |
getBusinessTaskContextBean()
Zurückgeben des Objektes, das den ITaskContext parametrisiert. |
java.lang.String |
getCurrentPerspective()
Zurückliefern des Namens der gegenwärtig eingenommenen Perspektive auf den TaskContext. |
IBusinessTaskResult |
getCurrentTaskResult()
Zurückliefern des Ergebnisses der Durchführung des aktuellen VO ( IBusinessTask). |
java.lang.String |
getInstanceName()
Zurückliefern des Namens des instantiierten TaskContext-Objekts. |
Message[] |
getMessages()
Zurückliefern aller Meldungen, die bei der Durchführung von Vorgängen innerhalb des ITaskContext aufgetreten sind. |
MetaSystem |
getMetaSystem()
Zurückliefern des IntegrityMonitor, der für die Einhaltung
der semantischen Integrität bei der Persistierung von Konzepten nach der
Durchführung von Vorgängen zuständig ist. |
java.lang.String |
getName()
Zurückgeben des Namens des Kontextes. |
IRepository |
getRepository()
Zurückgeben des IRepository, das die Informationen über die
Anwendung und die Vorgangsobjekte enthält. |
org.hibernate.SessionFactory |
getSessionFactory()
Zurückliefern der Transaktionsschnittstelle der Datenbasis. |
ITaskContextManager |
getTaskContextManager()
Zurückliefern des ITaskContextManager, der für die Verwaltung und
die Parametrisierung des ITaskContext zuständig ist. |
protected IBusinessTask |
retrieveBusinessTask(java.lang.String command)
|
void |
setAttributeStore(AttributeStore attributeStore)
Setzen der Attribute, die den internen Speicher des TaskContext
befüllen. |
void |
setBusinessTaskContextBean(StandardBusinessTaskContextBean bean)
Setzen der Parametrisierung des TaskContext. |
void |
setCurrentPerspective(java.lang.String currentPerspective)
Setzen des Namens der aktuell eingenommenen Perspektive. |
void |
setInstanceName(java.lang.String name)
Setzen des Namens des instantiierten TaskContext-Objekts. |
void |
setName(java.lang.String name)
Setzen des Namens des Kontextes. |
void |
setSessionFactory(org.hibernate.SessionFactory sessionFactory)
Setzen der Transaktionsschnittstelle der Datenbasis. |
void |
setTaskContextManager(ITaskContextManager contextManager)
Setzen des ITaskContextManager, der für die Koordination des
ITaskContext zuständig ist, in dem die IBusinessTask-
Objekte ausgeführt werden. |
protected void |
validateTaskResult(IBusinessTaskResult result)
Validieren des Ergebnisses einer Vorgangsdurchführung. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final java.lang.String STANDARD_CONTEXT
public static final java.lang.String ATTRIBUTE_PERSPECTIVE
| Constructor Detail |
|---|
public TaskContext(ITaskContextManager manager)
TaskContext
manager - Der ITaskContextManager, der für die Verwaltung
des TaskContext zuständig ist.| Method Detail |
|---|
public ITaskRequest getActiveTaskRequest()
ITaskContextITaskRequest. Es handelt sich dabei um
den Request, der im abzuarbeitenden Stack an oberster Stelle steht. Erst, wenn dieser
Request abgearbeitet ist, wird der nächste Request bearbeitet.
getActiveTaskRequest in interface ITaskContextITaskRequest, der innerhalb des Kontextes aktuell zu
bearbeiten ist.public void addTaskRequest(ITaskRequest tRequest)
ITaskContextITaskRequest, der innerhalb dieses Kontextes
ausgeführt werden soll. Es werden stets alle anstehenden Requests, die auf dem
Stack liegen ausgeführt.
addTaskRequest in interface ITaskContexttRequest - Request, der im Rahmen der Durchführung des Kontextes abgearbeitet
werden soll.
public void executeRequest()
throws BusinessTaskPerformanceException
Ausführen des aktuellen Request. Es wird entschieden, ob das dem Request zu Grunde liegende Kommando die Instantiierung eines neuen Request erforderlich macht oder ob das aktuelle VO für die weitere Durchführung des Request zuständig ist.
Ein TaskContext hat einen internen Speicher, in den das ausführende
Vorgangsobjekt (IBusinessTask) geladen wird. Zur Durchführung wird es
vom TaskContext beauftragt. Ist der Speicher des Kontextes leer,
so wird zur Ausführung des Request der IBusinessTask neu aus dem
zu Grunde liegenden Repository instantiiert. Wird die Durchführung des VO aufgrund
einer Rückfrage an den Anwender oder Warten auf Nutzereingabe unterbrochen und nach
erfolgtem Feedback des Anwenders wieder aufgenommen, so greift der TaskContext
auf das bereits instantiierte VO zu. Dadurch bleibt der interne Speicher, also das
Aufgabenobjekt entsprechend erhalten. Ist ein anderer als der aktuelle IRepository neu instantiiert und der ersetzt den aktuellen IBusinessTask.
executeRequest in interface ITaskContextBusinessTaskPerformanceException - Ausnahme beim Ausführen des aktuellen Request.
protected void validateTaskResult(IBusinessTaskResult result)
throws BusinessTaskPerformanceException
result - Das zu validierende Ergebnis der Durchführung eines Vorgangs.
BusinessTaskPerformanceException - Das Ergebnis repräsentiert einen ungültigen Zustand.
protected IBusinessTask retrieveBusinessTask(java.lang.String command)
throws BusinessTaskPerformanceException
BusinessTaskPerformanceExceptionpublic java.lang.String getName()
ITaskContext
getName in interface ITaskContextpublic void setName(java.lang.String name)
ITaskContext
setName in interface ITaskContextname - Der Name des Kontextes.public java.lang.String getInstanceName()
TaskContext-Objekts.
So heißt bspw. eine Instanz des Kontextes 'Kundenverwaltung' - 'Müller GmbH'.
TaskContext.public void setInstanceName(java.lang.String name)
TaskContext-Objekts.
name - Name der Instanz dieses TaskContext.public java.lang.String getCurrentPerspective()
TaskContext. Der Name muss in der Liste der möglichen Perspektiven,
die auf den Kontext eingenommen werden können, vorhanden sein. Bei der Auslieferung
des IO wird die aktuelle Perspektive als geöffnete Registerkarte interpretiert.
public void setCurrentPerspective(java.lang.String currentPerspective)
currentPerspective - Aktuell geöffnete Perspektive.public void addMessage(Message m)
ITaskContext
addMessage in interface ITaskContextm - Hinzuzufügende Meldung.public void addMessages(Message[] ms)
ITaskContext
addMessages in interface ITaskContextms - Hinzuzufügenden Meldungen.public Message[] getMessages()
ITaskContextITaskContext aufgetreten sind.
getMessages in interface ITaskContextpublic void clearMessages()
ITaskContext
clearMessages in interface ITaskContextpublic MetaSystem getMetaSystem()
IntegrityMonitor, der für die Einhaltung
der semantischen Integrität bei der Persistierung von Konzepten nach der
Durchführung von Vorgängen zuständig ist. Der IntegrityMonitor
ist die Schnittstelle zur Datenbasis des Anwendungssystems.
public org.hibernate.SessionFactory getSessionFactory()
public ITaskContextManager getTaskContextManager()
ITaskContextITaskContextManager, der für die Verwaltung und
die Parametrisierung des ITaskContext zuständig ist.
getTaskContextManager in interface ITaskContextITaskContextManager.public void setTaskContextManager(ITaskContextManager contextManager)
ITaskContextManager, der für die Koordination des
ITaskContext zuständig ist, in dem die IBusinessTask-
Objekte ausgeführt werden.
contextManager - Verwaltungskomponente zur Koordination des ITaskContext.public AttributeStore getAttributeStore()
ITaskContext
getAttributeStore in interface ITaskContextITaskContext, auf den
andere Objekte Zugriff haben. Vor allem die auszuführenden IBusinessTask-Objekte
haben als einen gemeinsam nutzbaren Speicher Zugriff auf diesen AttributeStore.public void setAttributeStore(AttributeStore attributeStore)
TaskContext
befüllen.
attributeStore - Container der Attribute, die den internen Speicher des
TaskContext umfassen.public void setSessionFactory(org.hibernate.SessionFactory sessionFactory)
sessionFactory - Die Transaktionsschnittstelle.public IBusinessTaskResult getCurrentTaskResult()
ITaskContextIBusinessTask).
Nach der Durchführung eines Vorgangs im TaskContext kann über diese Methode
auf das Ergebnis der Durchführung (Nachereignis) zugegriffen werden.
getCurrentTaskResult in interface ITaskContextpublic IRepository getRepository()
ITaskContextIRepository, das die Informationen über die
Anwendung und die Vorgangsobjekte enthält.
getRepository in interface ITaskContextpublic BusinessTaskContextBean getBusinessTaskContextBean()
ITaskContextITaskContext parametrisiert. Es wird
beim Einlesen des Repository in dieses geschrieben und beim Instantiieren des
ITaskContext diesem übergeben.
getBusinessTaskContextBean in interface ITaskContextITaskContext.public void setBusinessTaskContextBean(StandardBusinessTaskContextBean bean)
Setzen der Parametrisierung des TaskContext. Das StandardBusinessContextBean
enthält alle notwendigen Informationen zur Instantiierung des
TaskContext. Es wird in der Regel durch die moccapart_x.xml
spezifiziert.
bean -
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||